package br.com.sistema.smallAgro.service;

import java.io.Serializable;
import java.util.Iterator;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Component;

import br.com.sistema.smallAgro.dao.UsuarioDao;
import br.com.sistema.smallAgro.modelo.Usuario;
import br.com.sistema.smallAgro.util.AbstractPaginacaoService;

@Component("usuarioService")
public class UsuarioService extends AbstractPaginacaoService<Usuario> {

	@Autowired
	@Qualifier("usuarioDao")
	private UsuarioDao usuarioDao;

	public boolean buscaUsuario(Usuario usuario) {
		return usuarioDao.buscaUsuario(usuario);
	}

	@Override
	public Iterator<? extends Usuario> consultaPaginada(Serializable filtro, long inicio, long fim) {
		return (usuarioDao.consultaPaginada(filtro, inicio, fim).iterator());
	}

	@Override
	public int contadorPaginado(Serializable filtro) {
		return (int) usuarioDao.total(filtro);
	}

	public void salvar(Usuario usuario) {
		try {
			usuarioDao.salvarUsuario(usuario);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	public boolean buscaUsuarioValidacao(Usuario usuario) {
		return usuarioDao.buscaUsuarioValidacao(usuario);
	}
}
